package com.sxbbc.api.service;

import com.function.common.RestResponse;
import com.sxbbc.common.basics.login.ThirdLoginDto;
import com.sxbbc.common.basics.wx.client.WxClient;
import com.sxbbc.common.core.dto.jz.LoginRegisterVo;
import com.sxbbc.common.core.dto.jz.WxBindVo;

/**
 * 会员注册
 * @author YQQ
 *
 */
public interface IRegisterService {
	
	
	/**
	 * 发送注册验证码 
	 * @param loginRegisterVo type 1手机号 2邮箱 3账号
	 * @return
	 */
	public RestResponse sendRegisterCode(LoginRegisterVo loginRegisterVo);
	
	/**
	 * 注册
	 * 详见 {@link LoginRegisterVo} 注释
	 * @param client 
	 * @return
	 */
	public RestResponse handleRegister(LoginRegisterVo loginRegisterVo,WxClient client);

	/**
	 * 公众号，小程序用户绑定账户
	 * @param bindVo 注册绑定信息
	 * @return
	 */
	public RestResponse handleWxUserBind(WxBindVo bindVo);

	/**
	 * 第三方账户绑定——无账号
	 * @param thirdLoginDto 友盟获取用户信息
	 * @param registerVo
	 * @return
	 * @author xiaoky
	 */
	public RestResponse handleThirdNoAccountBind(ThirdLoginDto thirdLoginDto, LoginRegisterVo registerVo);

	/**
	 * 第三方账户绑定——有账号
	 * @param thirdLoginDto 友盟获取用户信息
	 * @param cid 用户id
	 * @param phone 绑定账户的手机号
	 * @param passWord 绑定账户的密码
	 * @return
	 * @author xiaoky
	 */
	public RestResponse handleThirdAccountBind(ThirdLoginDto thirdLoginDto, Integer cid, String phone, String passWord);


}
